﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CI.Caja.BE;
using System.Data.SqlClient;

namespace CI.Caja.DL
{
   public class DA_Denominacion :IDA_Denominacion
    {

        DA_Utilitario objUtility = new DA_Utilitario();

       public ICollection<BE_Denominacion> ListarDenominacion(int idMoneda)
       {
           ICollection<BE.BE_Denominacion> denominacionesExistentes = new List<BE.BE_Denominacion>();
           BE_Denominacion denominacion = null;

           string sentencia = "SELECT idDenominacion,idMoneda,numValor,txtDescripcion  FROM CA_DENOMINACION WHERE idMoneda=@idMoneda ";
           //using (SqlConnection conexion = new SqlConnection(DA_Utilitario.ObtenerConexion()))
           using (SqlConnection conexion = DA_SingletonConexion.ConnectionInstance)
           {
               conexion.Open();

                try
               {
               using (SqlCommand comando = new SqlCommand(sentencia, conexion))
               {
                   comando.Parameters.Add(new SqlParameter("@idMoneda", idMoneda));

                   SqlDataReader resultado = comando.ExecuteReader();
                   while (resultado.Read())
                   {
                       denominacion = new BE_Denominacion();
                       denominacion.IdDenominacion = (int)resultado["idDenominacion"];
                       denominacion.IdMoneda = (int)resultado["idMoneda"];
                       denominacion.NumValor = (decimal)resultado["numValor"];
                       denominacion.Descripcion = (string)resultado["txtDescripcion"];

                       denominacionesExistentes.Add(denominacion);                  }
               }

               }
                catch (SqlException error)
                {
                    throw new Exception(error.Message);
                }
                finally
                {
                    if (conexion != null)
                    {
                        if (conexion.State == System.Data.ConnectionState.Open) conexion.Close();
                    }
                }
           }
           return denominacionesExistentes;
       }

    }
}
